"""
序列和切片操作
    序列：内容连续、有序，支持下标索引的一类数据容器 列表、元组、字符串
    语法：序列[起始下标:结束下标:步长]标识从指定位置开始，到指定位置结束，得到一个新的序列
    · 起始下标开始，可以留空，留空表示从头开始
    · 结束下标表示何处结束，可以留空，留空表示截取到末尾
    · 步长表示依次取元素的间隔：
        1.步长1表示一个个取出元素，默认为1
        2.步长为2，每次跳过一个元素取
        3.步长N表示每次跳过N-1个元素取
        4.步长为负数则表示反向取(起始和结束下标也要反向标记)
"""

# 对list进行切片，从1开始，4结束，步长为1
my_list = [0, 1, 2, 3, 4, 5, 6]
result1 = my_list[1:4:1]
print(f"结果1={result1}")

# 对tuple进行切片，从头开始，到最后结束，步长为1
my_tuple = (0, 1, 2, 3, 4, 5, 6)
result2 = my_tuple[::]
print(f"结果2={result2}")

# 对string进行切片，从头开始，到最后结束，步长为2
my_str = "abcdefj"
result3 = my_str[::2]
print(f"结果3={result3}")

# 对string进行切片，从头开始，到最后结束，步长为-1
my_str = "abcdefj"
result4 = my_str[::-1]
print(f"结果3={result4}")
# 对列表进行切片，从3开始，到1结束，步长为-1
my_list = [0, 1, 2, 3, 4, 5, 6]
result5 = my_list[3:1:-1]
print(f"结果5={result5}")

# 对元组进行切片，从头开始，到尾结束，步长为-2
my_tuple = (0, 1, 2, 3, 4, 5, 6)
result6 = my_tuple[::-2]
print(f"结果6={result6}")
